﻿
using System;
using System.Data.SqlClient;
using System.Globalization;
using System.Runtime.Serialization;
using ProtoBuf;/*https://github.com/ServiceStack/ServiceStack/tree/master/lib*/
using ServiceStack.Text;/*https://github.com/ServiceStack/ServiceStack.Text*/
using V82;
using V82.ОбщиеОбъекты;
using V82.СправочникиСсылка;
using V82.СправочникиОбъект;
using V82.ДокументыСсылка;
using V82.Перечисления;//Ссылка;
namespace V82.СправочникиОбъект
{
	///<summary>
	///(Общ)
	///</summary>
	[ProtoContract]
	[DataContract]
	public partial class ДоговорыКонтрагентов:СправочникОбъект
	{
		public bool _ЭтоНовый;
		public bool ЭтоНовый()
		{
			return _ЭтоНовый;
		}
		[DataMember]
		[ProtoMember(1)]
		public Guid Ссылка {get;set;}
		[DataMember]
		[ProtoMember(2)]
		public long Версия {get;set;}
		[DataMember]
		[ProtoMember(3)]
		public string ВерсияДанных {get;set;}
		/*static хэш сумма состава и порядка реквизитов*/
		/*версия класса восстановленного из пакета*/
		[DataMember]
		[ProtoMember(4)]
		public bool ПометкаУдаления {get;set;}
		[DataMember]
		[ProtoMember(5)]
		public bool Предопределенный {get;set;}
		[DataMember]
		[ProtoMember(6)]
		public Guid Владелец {get;set;}
		[DataMember]
		[ProtoMember(7)]
		public V82.СправочникиСсылка.ДоговорыКонтрагентов Родитель {get;set;}
		[DataMember]
		[ProtoMember(8)]
		public bool ЭтоГруппа {get;set;}
		[DataMember]
		[ProtoMember(9)]
		public string/*9*/ Код {get;set;}
		[DataMember]
		[ProtoMember(10)]
		public string/*50*/ Наименование {get;set;}
		///<summary>
		///(Общ) Определяет валюту взаиморасчетов по договору, не может меняться, если по договору проведен хотя бы один документ
		///</summary>
		[DataMember]
		[ProtoMember(11)]
		public V82.СправочникиСсылка.Валюты ВалютаВзаиморасчетов {get;set;}//Валюта взаиморасчетов
		///<summary>
		///(Общ)
		///</summary>
		[DataMember]
		[ProtoMember(12)]
		public V82.Перечисления/*Ссылка*/.ВедениеВзаиморасчетовПоДоговорам ВедениеВзаиморасчетов {get;set;}//Ведение взаиморасчетов
		///<summary>
		///(Общ) Любая дополнительная информация
		///</summary>
		[DataMember]
		[ProtoMember(13)]
		public string/*(0)*/ Комментарий {get;set;}
		///<summary>
		///(Упр) 
		///</summary>
		[DataMember]
		[ProtoMember(14)]
		public V82.Перечисления/*Ссылка*/.ВидыУсловийДоговоровВзаиморасчетов ВидУсловийДоговора {get;set;}//Вид условий договора
		///<summary>
		///(Упр) Держать резерв без оплаты ограниченное/неограниченное время
		///</summary>
		[DataMember]
		[ProtoMember(15)]
		public bool ДержатьРезервБезОплатыОграниченноеВремя {get;set;}//Держать резерв без оплаты ограниченное время
		///<summary>
		///(Упр) 
		///</summary>
		[DataMember]
		[ProtoMember(16)]
		public decimal/*(15.2)*/ ДопустимаяСуммаЗадолженности {get;set;}//Допустимая сумма дебиторской задолженности
		///<summary>
		///(Упр) 
		///</summary>
		[DataMember]
		[ProtoMember(17)]
		public decimal/*(10)*/ ДопустимоеЧислоДнейЗадолженности {get;set;}//Допустимое число дней дебиторской задолженности
		///<summary>
		///(Общ) 
		///</summary>
		[DataMember]
		[ProtoMember(18)]
		public V82.СправочникиСсылка.Организации Организация {get;set;}
		///<summary>
		///(Упр) 
		///</summary>
		[DataMember]
		[ProtoMember(19)]
		public bool КонтролироватьСуммуЗадолженности {get;set;}//Контролировать сумму дебиторской задолженности
		///<summary>
		///(Упр) 
		///</summary>
		[DataMember]
		[ProtoMember(20)]
		public bool КонтролироватьЧислоДнейЗадолженности {get;set;}//Контролировать число дней дебиторской задолженности
		///<summary>
		///(Общ) Обособленный партионный учет Товаров по заказам покупателей
		///</summary>
		[DataMember]
		[ProtoMember(21)]
		public bool ОбособленныйУчетТоваровПоЗаказамПокупателей {get;set;}//Обособленный учет Товаров по заказам покупателей
		///<summary>
		///(Общ) 
		///</summary>
		[DataMember]
		[ProtoMember(22)]
		public decimal/*(5.2)*/ ПроцентКомиссионногоВознаграждения {get;set;}//Процент комиссионного вознаграждения
		///<summary>
		///(Общ) 
		///</summary>
		[DataMember]
		[ProtoMember(23)]
		public V82.Перечисления/*Ссылка*/.СпособыРасчетаКомиссионногоВознаграждения СпособРасчетаКомиссионногоВознаграждения {get;set;}//Способ расчета комиссионного вознаграждения
		///<summary>
		///(Упр) 
		///</summary>
		[DataMember]
		[ProtoMember(24)]
		public decimal/*(5.2)*/ ПроцентПредоплаты {get;set;}//Процент предоплаты
		///<summary>
		///(Общ) Тип цен по умолчанию для оформления покупок по данному договору
		///</summary>
		[DataMember]
		[ProtoMember(25)]
		public object ТипЦен {get;set;}//Тип цен
		///<summary>
		///(Общ)
		///</summary>
		[DataMember]
		[ProtoMember(26)]
		public V82.Перечисления/*Ссылка*/.ВидыДоговоровКонтрагентов ВидДоговора {get;set;}//Вид договора
		///<summary>
		///(Упр) Если 0, то неограничено
		///</summary>
		[DataMember]
		[ProtoMember(27)]
		public decimal/*(10)*/ ЧислоДнейРезерваБезОплаты {get;set;}//Число дней резерва без оплаты
		///<summary>
		///Признак того что в данном договоре организация выступает в качестве налогового агента
		///</summary>
		[DataMember]
		[ProtoMember(28)]
		public bool УчетАгентскогоНДС {get;set;}//Учет агентского НДС
		///<summary>
		///Разновидность договора с обязанностью оплаты организацией НДС в качестве налогового агента 
		///</summary>
		[DataMember]
		[ProtoMember(29)]
		public V82.Перечисления/*Ссылка*/.ВидыАгентскихДоговоров ВидАгентскогоДоговора {get;set;}//Вид агентского договора
		///<summary>
		///(Регл)
		///</summary>
		[DataMember]
		[ProtoMember(30)]
		public bool РасчетыВУсловныхЕдиницах {get;set;}//Расчеты в условных единицах
		[DataMember]
		[ProtoMember(31)]
		public bool КонтролироватьДенежныеСредстваКомитента {get;set;}//Контролировать денежные средства комитента
		[DataMember]
		[ProtoMember(32)]
		public bool РеализацияНаЭкспорт {get;set;}//Реализация на экспорт
		[DataMember]
		[ProtoMember(33)]
		public DateTime Дата {get;set;}
		[DataMember]
		[ProtoMember(34)]
		public string/*(20)*/ Номер {get;set;}
		///<summary>
		///(Упр)
		///</summary>
		[DataMember]
		[ProtoMember(35)]
		public V82.СправочникиСсылка.ВидыВзаиморасчетов ВидВзаиморасчетов {get;set;}//Вид взаиморасчетов
		[DataMember]
		[ProtoMember(36)]
		public bool ВестиПоДокументамРасчетовСКонтрагентом {get;set;}//Вести по документам расчетов с контрагентом
		[DataMember]
		[ProtoMember(37)]
		public object ОсновнойПроект {get;set;}//Основной проект
		[DataMember]
		[ProtoMember(38)]
		public V82.СправочникиСсылка.СтатьиДвиженияДенежныхСредств ОсновнаяСтатьяДвиженияДенежныхСредств {get;set;}//Основная статья движения денежных средств
		[DataMember]
		[ProtoMember(39)]
		public DateTime СрокДействия {get;set;}//Срок действия договора
		[DataMember]
		[ProtoMember(40)]
		public V82.СправочникиСсылка.Номенклатура НаименованиеДляСчетаФактурыНаАванс {get;set;}//Обобщенное наименование товаров для счета-фактуры на аванс
		[DataMember]
		[ProtoMember(41)]
		public V82.Перечисления/*Ссылка*/.ПорядокРегистрацииСчетовФактурНаАванс ПорядокРегистрацииСчетовФактурНаАвансПоДоговору {get;set;}//Порядок регистрации счетов-фактур на аванс по договору
		[DataMember]
		[ProtoMember(42)]
		public bool НалоговыйАгентПоОплате {get;set;}//НДС при исполнении обязанностей налогового агента начисляется по оплате
		///<summary>
		///Если не установлен, для контроля просроченной задолженности используется срок из учетной политики организации
		///</summary>
		[DataMember]
		[ProtoMember(43)]
		public bool УстановленСрокОплатыДляРезервовПоСомнительнымДолгам {get;set;}//Установлен срок оплаты для резервов по сомнительным долгам
		///<summary>
		///Срок в днях, после которого долг считается просроченным
		///</summary>
		[DataMember]
		[ProtoMember(44)]
		public decimal/*(5)*/ СрокОплатыДляРезервовПоСомнительнымДолгам {get;set;}//Срок оплаты для резервов по сомнительным долгам
		public void Записать()
		{
			//Установка блокировки элемента на горизантально масштабированный кластер.
			//Опционально введение тайм аута на запись одного и того же объекта, не чаще раза в 5-секунд. Защита от спама. упращение алгоритма блокировки.
			//Выделение сервиса для блокировки элемента и генерации кода
			//Выполнение операций контроля без обращений к sql-серверу.
			//Контроль конфликта блокировок.
			//Контроль загрузки булкинсертом гетерогенной коллекции.
			//Контроль уникальности кода для справочников.
			//Контроль уникальности номера для документов, в границах префикса.
			//Контроль владельца, он не может быть группой.
			//Контроль владельца он должен быть задан.
			//Контроль родителя он должен быть группой.
			//Контроль количества уровней, должен соотвествовать метаданным.
			//Контроль версии, объект не должен был быть записан перед чтением текущей записи, алгоритм версионника.
			//Контроль уникальности ссылки
			//Контроль зацикливания
			//Опционально контроль битых ссылок.
			//Соблюдейние транзакционности. ПередЗаписью. Открытие транзации. Валидации. ПриЗаписи. Фиксация транзакции. Информирование о записи элемента.
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					if(_ЭтоНовый)
					{
						Команда.CommandText = @"
						Insert Into _Reference45(
						_IDRRef
						/*,_Version*/
						,_Marked
						,_IsMetadata
						,_OwnerIDRRef
						,_ParentIDRRef
						,_Folder
						,_Code
						,_Description
						,_Fld1062RRef
						,_Fld1063RRef
						,_Fld1069
						,_Fld1065RRef
						,_Fld1066
						,_Fld1067
						,_Fld1068
						,_Fld1073RRef
						,_Fld1070
						,_Fld1071
						,_Fld1072
						,_Fld1074
						,_Fld1076RRef
						,_Fld1075
						,_Fld1079RRef
						,_Fld1078
						,_Fld1080
						,_Fld1081RRef
						,_Fld1083
						,_Fld1082
						,_Fld1086
						,_Fld1084
						,_Fld1085
						,_Fld1064RRef
						,_Fld1087
						,_Fld1090RRef
						,_Fld1091
						,_Fld26523RRef
						,_Fld26524RRef
						,_Fld26525
						,_Fld26526
						,_Fld26527)
						Values(
						@Ссылка
						/*,@Версия*/
						,@ПометкаУдаления
						,@Предопределенный
						,@Владелец
						,@Родитель
						,@ЭтоГруппа
						,@Код
						,@Наименование
						,@ВалютаВзаиморасчетов
						,@ВедениеВзаиморасчетов
						,@Комментарий
						,@ВидУсловийДоговора
						,@ДержатьРезервБезОплатыОграниченноеВремя
						,@ДопустимаяСуммаЗадолженности
						,@ДопустимоеЧислоДнейЗадолженности
						,@Организация
						,@КонтролироватьСуммуЗадолженности
						,@КонтролироватьЧислоДнейЗадолженности
						,@ОбособленныйУчетТоваровПоЗаказамПокупателей
						,@ПроцентКомиссионногоВознаграждения
						,@СпособРасчетаКомиссионногоВознаграждения
						,@ПроцентПредоплаты
						,@ВидДоговора
						,@ЧислоДнейРезерваБезОплаты
						,@УчетАгентскогоНДС
						,@ВидАгентскогоДоговора
						,@РасчетыВУсловныхЕдиницах
						,@КонтролироватьДенежныеСредстваКомитента
						,@РеализацияНаЭкспорт
						,@Дата
						,@Номер
						,@ВидВзаиморасчетов
						,@ВестиПоДокументамРасчетовСКонтрагентом
						,@ОсновнаяСтатьяДвиженияДенежныхСредств
						,@СрокДействия
						,@НаименованиеДляСчетаФактурыНаАванс
						,@ПорядокРегистрацииСчетовФактурНаАвансПоДоговору
						,@НалоговыйАгентПоОплате
						,@УстановленСрокОплатыДляРезервовПоСомнительнымДолгам
						,@СрокОплатыДляРезервовПоСомнительнымДолгам)";
					}
					else
					{
						Команда.CommandText = @"
						Update _Reference45
						Set
						/*_IDRRef	= @Ссылка*/
						/*,_Version	= @Версия*/
						_Marked	= @ПометкаУдаления
						,_IsMetadata	= @Предопределенный
						,_OwnerIDRRef	= @Владелец
						,_ParentIDRRef	= @Родитель
						,_Folder	= @ЭтоГруппа
						,_Code	= @Код
						,_Description	= @Наименование
						,_Fld1062RRef	= @ВалютаВзаиморасчетов
						,_Fld1063RRef	= @ВедениеВзаиморасчетов
						,_Fld1069	= @Комментарий
						,_Fld1065RRef	= @ВидУсловийДоговора
						,_Fld1066	= @ДержатьРезервБезОплатыОграниченноеВремя
						,_Fld1067	= @ДопустимаяСуммаЗадолженности
						,_Fld1068	= @ДопустимоеЧислоДнейЗадолженности
						,_Fld1073RRef	= @Организация
						,_Fld1070	= @КонтролироватьСуммуЗадолженности
						,_Fld1071	= @КонтролироватьЧислоДнейЗадолженности
						,_Fld1072	= @ОбособленныйУчетТоваровПоЗаказамПокупателей
						,_Fld1074	= @ПроцентКомиссионногоВознаграждения
						,_Fld1076RRef	= @СпособРасчетаКомиссионногоВознаграждения
						,_Fld1075	= @ПроцентПредоплаты
						,_Fld1079RRef	= @ВидДоговора
						,_Fld1078	= @ЧислоДнейРезерваБезОплаты
						,_Fld1080	= @УчетАгентскогоНДС
						,_Fld1081RRef	= @ВидАгентскогоДоговора
						,_Fld1083	= @РасчетыВУсловныхЕдиницах
						,_Fld1082	= @КонтролироватьДенежныеСредстваКомитента
						,_Fld1086	= @РеализацияНаЭкспорт
						,_Fld1084	= @Дата
						,_Fld1085	= @Номер
						,_Fld1064RRef	= @ВидВзаиморасчетов
						,_Fld1087	= @ВестиПоДокументамРасчетовСКонтрагентом
						,_Fld1090RRef	= @ОсновнаяСтатьяДвиженияДенежныхСредств
						,_Fld1091	= @СрокДействия
						,_Fld26523RRef	= @НаименованиеДляСчетаФактурыНаАванс
						,_Fld26524RRef	= @ПорядокРегистрацииСчетовФактурНаАвансПоДоговору
						,_Fld26525	= @НалоговыйАгентПоОплате
						,_Fld26526	= @УстановленСрокОплатыДляРезервовПоСомнительнымДолгам
						,_Fld26527	= @СрокОплатыДляРезервовПоСомнительнымДолгам
						Where _IDRRef = @Ссылка";
					}
					Команда.Parameters.AddWithValue("Ссылка", Ссылка.ToByteArray());
					/*Команда.Parameters.AddWithValue("Версия", Версия);*/
					Команда.Parameters.AddWithValue("ПометкаУдаления", ПометкаУдаления);
					Команда.Parameters.AddWithValue("Предопределенный", Предопределенный);
					Команда.Parameters.AddWithValue("Владелец", Владелец);
					Команда.Parameters.AddWithValue("Родитель", Родитель);
					Команда.Parameters.AddWithValue("ЭтоГруппа", ЭтоГруппа?new byte[]{0}:new byte[]{1});
					Команда.Parameters.AddWithValue("Код", Код);
					Команда.Parameters.AddWithValue("Наименование", Наименование);
					Команда.Parameters.AddWithValue("ВалютаВзаиморасчетов", ВалютаВзаиморасчетов.Ссылка);
					Команда.Parameters.AddWithValue("ВедениеВзаиморасчетов", ВедениеВзаиморасчетов.Ключ());
					Команда.Parameters.AddWithValue("Комментарий", Комментарий);
					Команда.Parameters.AddWithValue("ВидУсловийДоговора", ВидУсловийДоговора.Ключ());
					Команда.Parameters.AddWithValue("ДержатьРезервБезОплатыОграниченноеВремя", ДержатьРезервБезОплатыОграниченноеВремя);
					Команда.Parameters.AddWithValue("ДопустимаяСуммаЗадолженности", ДопустимаяСуммаЗадолженности);
					Команда.Parameters.AddWithValue("ДопустимоеЧислоДнейЗадолженности", ДопустимоеЧислоДнейЗадолженности);
					Команда.Parameters.AddWithValue("Организация", Организация.Ссылка);
					Команда.Parameters.AddWithValue("КонтролироватьСуммуЗадолженности", КонтролироватьСуммуЗадолженности);
					Команда.Parameters.AddWithValue("КонтролироватьЧислоДнейЗадолженности", КонтролироватьЧислоДнейЗадолженности);
					Команда.Parameters.AddWithValue("ОбособленныйУчетТоваровПоЗаказамПокупателей", ОбособленныйУчетТоваровПоЗаказамПокупателей);
					Команда.Parameters.AddWithValue("ПроцентКомиссионногоВознаграждения", ПроцентКомиссионногоВознаграждения);
					Команда.Parameters.AddWithValue("СпособРасчетаКомиссионногоВознаграждения", СпособРасчетаКомиссионногоВознаграждения.Ключ());
					Команда.Parameters.AddWithValue("ПроцентПредоплаты", ПроцентПредоплаты);
					Команда.Parameters.AddWithValue("ВидДоговора", ВидДоговора.Ключ());
					Команда.Parameters.AddWithValue("ЧислоДнейРезерваБезОплаты", ЧислоДнейРезерваБезОплаты);
					Команда.Parameters.AddWithValue("УчетАгентскогоНДС", УчетАгентскогоНДС);
					Команда.Parameters.AddWithValue("ВидАгентскогоДоговора", ВидАгентскогоДоговора.Ключ());
					Команда.Parameters.AddWithValue("РасчетыВУсловныхЕдиницах", РасчетыВУсловныхЕдиницах);
					Команда.Parameters.AddWithValue("КонтролироватьДенежныеСредстваКомитента", КонтролироватьДенежныеСредстваКомитента);
					Команда.Parameters.AddWithValue("РеализацияНаЭкспорт", РеализацияНаЭкспорт);
					Команда.Parameters.AddWithValue("Дата", Дата);
					Команда.Parameters.AddWithValue("Номер", Номер);
					Команда.Parameters.AddWithValue("ВидВзаиморасчетов", ВидВзаиморасчетов.Ссылка);
					Команда.Parameters.AddWithValue("ВестиПоДокументамРасчетовСКонтрагентом", ВестиПоДокументамРасчетовСКонтрагентом);
					Команда.Parameters.AddWithValue("ОсновнаяСтатьяДвиженияДенежныхСредств", ОсновнаяСтатьяДвиженияДенежныхСредств.Ссылка);
					Команда.Parameters.AddWithValue("СрокДействия", СрокДействия);
					Команда.Parameters.AddWithValue("НаименованиеДляСчетаФактурыНаАванс", НаименованиеДляСчетаФактурыНаАванс.Ссылка);
					Команда.Parameters.AddWithValue("ПорядокРегистрацииСчетовФактурНаАвансПоДоговору", ПорядокРегистрацииСчетовФактурНаАвансПоДоговору.Ключ());
					Команда.Parameters.AddWithValue("НалоговыйАгентПоОплате", НалоговыйАгентПоОплате);
					Команда.Parameters.AddWithValue("УстановленСрокОплатыДляРезервовПоСомнительнымДолгам", УстановленСрокОплатыДляРезервовПоСомнительнымДолгам);
					Команда.Parameters.AddWithValue("СрокОплатыДляРезервовПоСомнительнымДолгам", СрокОплатыДляРезервовПоСомнительнымДолгам);
					Команда.ExecuteNonQuery();
				}
			}
		}
		public void Удалить()
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Delete _Reference45
					Where _IDRRef=@Ссылка";
					Команда.Parameters.AddWithValue("Ссылка", Ссылка.ToByteArray());
					Команда.ExecuteNonQuery();
				}
			}
		}
		/*МодульОбъекта*/
		////////////////////////////////////////////////////////////////////////////////
		// ЭКСПОРТИРУЕМЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
		// Функция проверяет, существуют ли ссылки на договор в движениях регистров накопления.
		// Если есть - нельзя менять:
		//  - Валюту взаиморасчетов
		//  - Ведение взаиморасчетов.
		//
		// Параметры:
		//  Нет.
		//
		// Возвращаемое значение:
		//  Истина - если есть движения, Ложь - если нет.
		//

		public object СуществуютСсылки(/**/)
		{
			return null;
		}
		//  СуществуютСсылки()
		////////////////////////////////////////////////////////////////////////////////
		// ОБРАБОТЧИКИ СОБЫТИЙ
		// Процедура вызывается перед записью элемента справочника.
		//

		public void ПередЗаписью(/*Отказ*/)
		{
			/*// Проверим можно ли изменять реквизиты договора.
*/
			/*// Проверка осуществляется только если записывается уже существующий договор
*/
			if(true/*НЕ ОбменДанными.Загрузка И НЕ ЭтоНовый()*/)
			{
				if(true/*ЭтоГруппа*/)
				{
					/*// Для группы владельца менять нельзя
*/
					if(true/*Владелец <> Ссылка.Владелец*/)
					{
						//Сообщить("Нельзя изменять контрагента для группы договоров.", СтатусСообщения.Важное);
						//Отказ = Истина;
					}
				}
			}
			/*// Проверим заполнение и очистим неиспользуемые реквизиты элемента договора.
*/
			if(true/*Не ЭтоГруппа*/)
			{
				/*// Проверим, заполнена ли валюта.
*/
				if(true/*НЕ ОбменДанными.Загрузка И НЕ ЗначениеЗаполнено(ВалютаВзаиморасчетов)*/)
				{
					//Сообщить("Не указана валюта договора.", СтатусСообщения.Важное);
					//Отказ = Истина;
				}
				/*// Проверим, заполнена ли организация.
*/
				if(true/*НЕ ОбменДанными.Загрузка И НЕ ЗначениеЗаполнено(Организация)*/)
				{
					//Сообщить("Не указана организация, от которой заключен договор.", СтатусСообщения.Важное);
					//Отказ = Истина;
				}
				/*// Проверим, заполнен ли способ ведения взаиморасчетов.
*/
				if(true/*НЕ ОбменДанными.Загрузка И НЕ ЗначениеЗаполнено(ВедениеВзаиморасчетов)*/)
				{
					//Сообщить("Не указан способ ведения взаиморасчетов по договору.", СтатусСообщения.Важное);
					//Отказ = Истина;
				}
				/*// Проверим, заполнен ли вид договора.
*/
				if(true/*НЕ ОбменДанными.Загрузка*/)
				{
					if(true/*НЕ ЗначениеЗаполнено(ВидДоговора)*/)
					{
						//Сообщить("Не указан вид договора.", СтатусСообщения.Важное);
						//Отказ = Истина;
					}
				}
			}
		}
		// ПередЗаписью()

		public void ОбработкаЗаполнения(/*ДанныеЗаполнения, СтандартнаяОбработка*/)
		{
			if(true/*ЭтоГруппа*/)
			{
			}
			//Контрагент = Владелец;
			if(true/*ТипЗнч(ДанныеЗаполнения) = Тип("Структура") И ДанныеЗаполнения.Свойство("Владелец")*/)
			{
				//Контрагент = ДанныеЗаполнения.Владелец;
			}
			if(true/*НЕ ЗначениеЗаполнено(ВидДоговора)*/)
			{
				if(true/*НЕ ЗначениеЗаполнено(Контрагент)*/)
				{
					//ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.Прочее;
				}
			}
			if(true/*ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.Прочее*/)
			{
				//ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом;
			}
			if(true/*Контрагент.НеЯвляетсяРезидентом И ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем*/)
			{
				//РеализацияНаЭкспорт = Истина;
			}
			if(true/*НЕ ЗначениеЗаполнено(ВалютаВзаиморасчетов)*/)
			{
				//ВалютаВзаиморасчетов = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнаяВалютаВзаиморасчетов");
				if(true/*НЕ ЗначениеЗаполнено(ВалютаВзаиморасчетов)*/)
				{
					//ВалютаВзаиморасчетов = Константы.ВалютаУправленческогоУчета.Получить();
				}
			}
			if(true/*НЕ ЗначениеЗаполнено(Организация)*/)
			{
				if(true/*НЕ (ТипЗнч(ДанныеЗаполнения) = Тип("Структура") И ДанныеЗаполнения.Свойство("Организация"))*/)
				{
					//Организация = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнаяОрганизация");
				}
			}
			if(true/*НЕ ЗначениеЗаполнено(ВидУсловийДоговора)*/)
			{
				//ВидУсловийДоговора = Перечисления.ВидыУсловийДоговоровВзаиморасчетов.БезДополнительныхУсловий;
			}
			if(true/*ВидДоговора <> Перечисления.ВидыДоговоровКонтрагентов.Прочее*/)
			{
				//ВестиПоДокументамРасчетовСКонтрагентом = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновныеРасчетыПоДокументамСКонтрагентами");
			}
			if(true/*(ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком
	 ИЛИ  ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем)
	   И ВалютаВзаиморасчетов <> Константы.ВалютаРегламентированногоУчета.Получить()*/)
			{
				//РасчетыВУсловныхЕдиницах = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновныеРасчетыПоДоговоруВУсловныхЕдиницах");
			}
			if(true/*ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем*/)
			{
				//ПроцентПредоплаты = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнойРазмерПредоплатыПоЗаказуПокупателя");
			}
			if(true/*ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом
	 ИЛИ ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоЗаказам*/)
			{
				//ОбособленныйУчетТоваровПоЗаказамПокупателей = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнойОбособленныйУчетТоваровПоЗаказамПокупателей");
			}
		}
	}
}